﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TraceInspector.Model;
using System.Collections.ObjectModel;

namespace TraceInspector.Application
{
    /// <summary>
    /// Предоставляет пользователю доступ к данным обследований 
    /// </summary>
    public interface IUIDataProvider
    {
        /// <summary>
        /// Предоставляет доступ к списку обследований в базе данных
        /// </summary>
        /// <returns></returns>
        ObservableCollection<Model.Inspection> GetInspections();

        /// <summary>
        /// Сохраняет изменения, сделанные в модели, в базу данных
        /// </summary>
        /// <param name="inspection"></param>
        void UpdateInspection(Model.Inspection inspection);

        /// <summary>
        /// Читает объекты обследования (такие как трубы, аномалии и другие особенности) из базы данных и записывает в модель (Model.Inspection)
        /// </summary>
        /// <param name="inspection"></param>
        void ReadInspectionObjects(Model.Inspection inspection);

        /// <summary>
        /// Получает список сформированных отчетов из базы и записывает в модель (Model.Inspection)
        /// </summary>
        /// <param name="inspection"></param>
        void ReadInspectionReports(Model.Inspection inspection);
    }
}
